package jp.co.toshiba.ffsa.entity;

import java.sql.Timestamp;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import javax.persistence.Version;

/**
 * プロジェクト
 * @author NPC
 */
@Entity
@Table(name="project")
public class Project {

    /**
     * 10桁数字連番（自動発番）
     */
    @Id
    @Column(name = "project_id")
    public String projectId;

    /**
     * プロジェクト名称
     */
    @Column(name = "project_name")
    public String projectName;

    /**
     * 説明
     */
    public String description;

    /**
     * ユーザID
     */
    @Column(name = "user_id")
    public String userId;

    /**
     * 契約番号
     */
    @Column(name = "contract_number")
    public String contractNumber;

    /**
     * Setup Environment設定値
     */
    @Column(name = "chip_corner_name")
    public String chipCornerName;

    /**
     * Setup Environment設定値
     */
    public String technology;

    /**
     * Setup Environment設定値
     */
    public String base;

    /**
     * Setup Environment設定値
     */
    @Column(name = "gate_size")
    public String gateSize;

    /**
     * Setup Environment設定値
     */
    @Column(name = "target_freq")
    public String targetFreq;

    /**
     * Setup Environment設定値
     */
    @Column(name = "junction_temperature_tj_max")
    public String junctionTemperatureTjMax;

    /**
     * Setup Environment設定値
     */
    @Column(name = "junction_temperature_tj_min")
    public String junctionTemperatureTjMin;

    /**
     * Setup Environment設定値
     */
    @Column(name = "core_voltage_max")
    public String coreVoltageMax;

    /**
     * Setup Environment設定値
     */
    @Column(name = "core_voltage_min")
    public String coreVoltageMin;

    /**
     * Setup Environment設定値
     */
    @Column(name = "fileset_type")
    public String filesetType;

    /**
     * Setup Environment設定値
     */
    @Column(name = "gate_netlist_option")
    public String gateNetlistOption;

    /**
     * Setup Environment設定値
     */
    @Column(name = "sdf_option")
    public String sdfOption;

    /**
     * Setup Environment設定値
     */
    public String pkg;

    /**
     * 作業中のワークフローのID
     */
    @Column(name = "current_workflow_id")
    public String currentWorkflowId;

    /**
     * ES出荷確認ステータス
     */
    @Column(name = "es_status")
    public Integer esStatus;

    /**
     * 最後にメタデータを送信した日時
     */
    @Column(name = "metadata_sent_at")
    public Timestamp metadataSentAt;

    /**
     * 作成日時
     */
    @Temporal(TemporalType.TIMESTAMP)
    @Column(name = "created_at")
    public Timestamp createdAt;

    /**
     * 作成者
     */
    @Column(name = "created_by")
    public String createdBy;

    /**
     * 更新日時
     */
    @Temporal(TemporalType.TIMESTAMP)
    @Column(name = "updated_at")
    public Timestamp updatedAt;

    /**
     * 更新者
     */
    @Column(name = "updated_by")
    public String updatedBy;

    /**
     * 削除フラグ（0:未削除 1:削除）
     */
    @Column(name = "delete_flag")
    public String deleteFlag;

    /**
     * 排他番号
     */
    @Version
    public Integer version;

}
